Skip to main content

3-2025-05-15-AI车辆登船记录系统技术解决方案评估

5 min read

一、系统概述

通过AI技术实现车辆登船记录的自动化、智能化管理,利用高精度车牌识别、实时状态监测和数据分析,提升船舶调度效率,降低人工成本。系统支持高可靠性、可扩展性和复杂环境适应性。

二、系统架构设计

image-20250523170550316

image-20250523172342859

1. 硬件配置

车牌识别摄像头:

  • 型号:预算足的话最好400万像素以上工业摄像头,配备夜间红外补光。
  • 部署位置:船舱出入口,2-5米高度,俯拍车辆/平视车辆。
  • 防护等级:IP67,适应码头潮湿、盐雾环境。
  • 数量:每个泊位口部署四台摄像机,两台监控入场车辆,两台监控出场车辆

处理终端:

  • 工控机:8核,32G内存以上。
  • 存储:512G以上磁盘空间。
  • 系统:Windows/Linux均可。
  • 数量:2台,一台主设备,另一台做备用机

通讯模块:

  • 连接方式:网线连接,基于TCP/IP协议,支持4G/5G备份链路。
  • 带宽需求:≥10Mbps,确保数据实时传输。

设备控制箱:

  • 防护等级:IP66,内置温控系统,防潮、防尘。
  • 集成设备:工控机、交换机及NVR(网络视频录像机)。
  • 可选配置:配备UPS(≥30分钟续航),防止突然断电。

2. 软件架构

车牌识别模块:

  • 技术栈:Python + OpenCV + PyTorch。
  • AI模型:YOLOv11(目标检测)+ CRNN(字符识别)/PaddleOCR,具体可能在做的过程中比较效果。
  • 功能:实时解析摄像头画面,提取车牌号,识别准确率目标>99%。

车辆登船记录、数据管理、报表生成模块:

  • 数据库:Postgres。
  • 技术:Flask,Pandas + OpenPyXL。
  • 功能:记录车辆进出时间、状态,生成历史记录,生成Excel/CSV格式报表,包含车牌号、登船/退出时间、状态等,支持异常高亮。

三、AI功能实现

1. 技术方案

模型选择:

  • 目标检测:YOLOv11,检测车牌区域,适合实时场景。
  • 字符识别:CRNN + CTC Loss/PaddleOCR,处理车牌。
  • 数据增强:旋转、模糊、亮度调整,提升模型鲁棒性。

训练与优化:

  • 数据集:乙方采集码头实际场景数据(≥1万张标注图像),包含污损、遮挡、夜间等场景。甲方等待摄像头安装完成,配合找一些车辆进出采集数据,乙方使用Labelling标注车牌位置及字符。
  • 迁移学习:基于预训练模型微调,缩短训练周期。

智能校验:

  • 规则过滤:校验车牌格式(如长度、字符规则)。
  • 异常处理:污损/遮挡车牌时,触发人工补录接口。

2. 功能实现

基础功能:

  • 实时车牌识别:捕捉车辆进出画面,提取车牌号。
  • 状态判定:基于车辆轨迹(通过多帧分析),判断登船/退出状态。
  • 数据记录:存储车牌号、时间、状态,生成自动化报表。

扩展功能:

  • 智能预警:车辆停留超过一定时间或者车辆异常进出将会提出预警。
  • 数据分析:统计登船高峰时段、异常频率,生成可视化图表(使用Matplotlib/Seaborn)。
  • 多功能扩展:提供API查询车辆进出状态,供后续开发集成。

四、外部接口、内部模块交互

1. 工控机和上位机接口定义

  • 协议类型:HTTP,POST请求

  • 需要确保工控机和上位机在同一网段

  • 登船json

    • 其中request 里面字段:

      • servicecodeWebApi_Vehicle_Onboard_Offboard_Status, 表示车辆登船状态(定义里面说只能有10位长度,但是其他案例有很长的例子,所以我取这个,如果不合适,可以跟我方反馈,我放修改)
      • appid需要甲方提供(表示应用名称)
      • reqid由每次调用我方生成
      • 加密key:需要由甲方提供,由此生成signdata,  
    • param:

      • berthCode: 泊位code,需要和甲方保持一致,可以甲方提供给我们,

        • 目前我们设置为: "1A" - "16A"
      • timestamp: 时间戳

      • type: 登船,还是离船

        • "onboard":登船
        • "offboard": 离船
      • status:

        • 1表示在正确的泊位
        • 0表示不在正确的泊位
      • time: 时间戳,UTC+8(北京时间)

{
"request": {
"appid": "AH856BDC-9F3E-487E-671D-C84DEA45EB24",
"reqid": "B683DA45-D4C3-45DB-AB60-8DEEECB6DE10",
"protover": "1.0",
"servicever": "1.0",
"requesttime": "20250606142930276",
"reserve": "",
"servicecode": "WebApi_Vehicle_Onboard_Offboard_Status",
"signdata": "556EDDE1D05C3ABA63535D57A0A68F1D"
},
"param": {
"berthCode": "1A",
"vehicleNo": "粤B·CD456",
"status": "1",
"type": "onboard",
"time": "20250606142930276"
}
}

2. 双工控机主从切换模块

  • 主要架构

    • 双节点架构:NodeA + NodeB

    • 工作模式:

      • 主节点:执行核心业务

      • 备用节点:实时监控+热备数据

    • 切换方式:自动故障切换 + 手动强制切换

  • 核心技术

    • 心跳检测:UDP广播 + 自定义协议(1s/次)

    • 故障判定:连续3次心跳丢失 + 硬件自检

  • 技术栈

    • Python,ZeroMQ, Protobuf

五、工期安排

任务名称时间备注
1. 项目启动与需求确认3天确认需求、硬件选型、接口标准。
2. 硬件采购与部署一周采购4MP+摄像头、工控机、UPS等;安装。
3. 数据采集与模型训练两周采集码头车牌数据(1万张);
训练YOLOv11+CRNN/PaddleOCR模型,优化准确率。
4. 软件开发两周开发车辆登船记录、数据管理、报表生成模块。
5. 上位机通信模块一周开发与上位机进行通讯的模块
6. 工控机主从切换功能一周设立机制,让两台工控机可以进行主从切换
7. 系统联调与测试一周功能测试、压力测试、异常测试。
8. 部署与验收一周现场部署、用户培训、生成自动化报表、验收。

预计总工期:50天

Loading Comments...